package com.pumpkin.annotationdemo.reflection;

/**
 * 类加载器
 */
public class Test06 {

    public static void main(String[] args) throws ClassNotFoundException {
        //获取系统类加载器
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader);
        //获取系统类加载器的父类加载器 》 扩展类加载器
        ClassLoader parent = systemClassLoader.getParent();
        System.out.println(parent);
        //获取扩展类加载器的父类加载器 》 根加载器（c/c++）
        ClassLoader parent1 = parent.getParent();
        System.out.println(parent1);

        //测试当前类是哪个类加载器加载的
        ClassLoader loader = Class.forName("com.pumpkin.annotationdemo.reflection.Test06").getClassLoader();
        System.out.println(loader);

        //测试JDK内置的类是谁加载的
        ClassLoader loader1 = Class.forName("java.lang.Object").getClassLoader();
        System.out.println(loader1);

        //获得系统类加载器可以加载的路径
        System.out.println(System.getProperty("java.class.path"));
    }
}
